package main

import "fmt"

type Book interface {
	GetBookName() string
}

type ChineseBook struct {
	name string
}

func (p *ChineseBook) GetBookName() string {
	return "这是我的中文书籍 \n"
}

type EnglishBook struct {
	name string
}

func (p *EnglishBook) GetBookName() string {
	return "这是我的英文书籍\n"
}


//简单工厂模式
type AbsFactory interface {
	GetBook() Book
}

func GetEnglishBook() Book {
	return &EnglishBook{name:"我的英文书"}
}

func GetChineseBook() Book {
	return &ChineseBook{name:"我的中文书籍"}
}

func main() {
	chineseBook := GetChineseBook()
	fmt.Println(chineseBook.GetBookName())

	englishBook := GetEnglishBook()
	fmt.Println(englishBook.GetBookName())
}
